<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui">
    <h:panelGrid columns="8">
        <h:outputLabel value="Sociedad" rendered="false"/>
        <p:selectOneMenu id="#{ui_cmbSociedad}" value="#{jsfBean.reporteContext.sociedadSelect}" rendered="false"
                         converter="#{managerSociedadDTOConverter}" effect="fade" style="width: 150px">
            <f:selectItem itemValue="" itemLabel="Todos"/>
            <f:selectItems value="#{jsfBean.cmbSociedadReporte}"
                           var="sociedad" itemLabel="#{sociedad.nombre}" itemValue="#{sociedad}"/>
            <p:ajax event="change" update="#{ui_dtLista} :messages"
                    listener="#{jsfBean.onSelectFiltro}"/>
        </p:selectOneMenu>
        <p:spacer width="30px"/>
        <h:outputLabel value="Agrupación"  rendered="#{agrupacionShow}"/>
        <p:selectOneMenu id="#{ui_cmbAgrupacion}" value="#{jsfBean.reporteContext.agrupacionSelect}"
                         rendered="#{agrupacionShow}"  converter="#{managerAgrupacionDTOConverter}"
                         effect="fade" style="width: 150px">
            <f:selectItem itemValue="" itemLabel="Todos"/>
            <f:selectItems value="#{jsfBean.cmbAgrupacionReporte}"
                           var="agrupacion" itemLabel="#{agrupacion.nombre}" itemValue="#{agrupacion}"/>
            <p:ajax event="change" update="#{ui_dtLista} :messages"
                    listener="#{jsfBean.onSelectFiltro}"/>
        </p:selectOneMenu>
        <p:spacer width="30px"/>
        <h:outputLabel value="Moneda"  rendered="#{monedaShow}"/>
        <p:selectOneMenu id="#{ui_cmbMoneda}" value="#{jsfBean.reporteContext.monedaSelect}"
                         rendered="#{monedaShow}"  converter="#{managerTipoMonedaConverter}"
                         effect="fade" style="width: 150px">
            <f:selectItem itemValue="" itemLabel="Todos"/>
            <f:selectItems value="#{jsfBean.cmbMonedaReporte}"
                           var="moneda" itemLabel="#{moneda.nombre}" itemValue="#{moneda}"/>
            <p:ajax event="change" update="#{ui_dtLista} :messages"
                    listener="#{jsfBean.onSelectFiltro}"/>
        </p:selectOneMenu>

    </h:panelGrid>
    <p:toolbar>
        <p:toolbarGroup align="right">
            <p:commandLink ajax="false" process="@this"
                           actionListener="#{jsfBean.printExcelReportAction}">
                <p:graphicImage value="../resources/images/newExcel.png" width="25px" height="25px"/>
                <f:attribute name="templateFile" value="#{jasperReporte}"/>
                <f:attribute name="templateType" value="xls"/>
                <f:attribute name="reportType" value="#{tipoReporte}"/>
            </p:commandLink>
            <p:commandLink ajax="false" process="@this"
                           actionListener="#{jsfBean.printExcelReportAction}">
                <p:graphicImage value="../resources/images/pdf.png" width="25px" height="25px"/>
                <f:attribute name="templateFile" value="#{jasperReporte}"/>
                <f:attribute name="templateType" value="pdf"/>
                <f:attribute name="reportType" value="#{tipoReporte}"/>
            </p:commandLink>
        </p:toolbarGroup>
    </p:toolbar>
    <p:dataTable id="#{ui_dtLista}" value="#{data_reporte}"
                 var="item" rowKey="#{item.id}"
                 rows="10" paginator="true"
                 paginatorPosition="bottom" emptyMessage="No existen registros"
                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                 rowsPerPageTemplate="5,10,25,50">
        <p:column styleClass="columnLeftTopClass" style="min-width:100px">
            <f:facet name="header">
                <h:outputText value="#{tituloEntidad}"/>
            </f:facet>
            <h:outputText value="#{item.entidad}"/>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
            <f:facet name="header">
                <h:outputText value="Hasta #{jsfBean.reporteContext.checkPoint.anno1}"/>
            </f:facet>
            <p:commandLink actionListener="#{jsfBean.onDetalleItemCuenta}" ajax="true"
                            update=":detalleItem">
                <h:outputText value="#{item.anno1}">
                    <f:convertNumber pattern="###,###,##0.000"/>
                </h:outputText>
                <f:attribute name="anno" value="#{jsfBean.reporteContext.checkPoint.anno1}"/>
                <f:attribute name="sociedadId" value="#{item.sociedadId}"/>
                <f:attribute name="checkPointId" value="#{item.checkPointId}"/>
                <f:attribute name="usuario" value="#{item.entidad}"/>
                <f:attribute name="codigoMoneda" value="#{item.codigoMoneda}"/>
                <f:attribute name="cuentaContableId" value="#{item.cuentaContableId}"/>
                <f:attribute name="acreedorId" value="#{item.acreedorId}"/>
                <f:attribute name="agrupacionId" value="#{item.agrupacionId}"/>
                <f:attribute name="tipoReporte" value="#{tipoReporte}"/>
            </p:commandLink>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
            <f:facet name="header">
                <h:outputText value="#{jsfBean.reporteContext.checkPoint.anno2}"/>
            </f:facet>

            <p:commandLink actionListener="#{jsfBean.onDetalleItemCuenta}" ajax="true"
                            update=":detalleItem">
                <h:outputText value="#{item.anno2}">
                    <f:convertNumber pattern="###,###,##0.000"/>
                </h:outputText>
                <f:attribute name="anno" value="#{jsfBean.reporteContext.checkPoint.anno2}"/>
                <f:attribute name="sociedadId" value="#{item.sociedadId}"/>
                <f:attribute name="checkPointId" value="#{item.checkPointId}"/>
                <f:attribute name="usuario" value="#{item.entidad}"/>
                <f:attribute name="codigoMoneda" value="#{item.codigoMoneda}"/>
                <f:attribute name="cuentaContableId" value="#{item.cuentaContableId}"/>
                <f:attribute name="agrupacionId" value="#{item.agrupacionId}"/>
                <f:attribute name="acreedorId" value="#{item.acreedorId}"/>
                <f:attribute name="tipoReporte" value="#{tipoReporte}"/>
            </p:commandLink>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
            <f:facet name="header">
                <h:outputText value="#{jsfBean.reporteContext.checkPoint.anno3}"/>
            </f:facet>
            <p:commandLink actionListener="#{jsfBean.onDetalleItemCuenta}" ajax="true"
                            update=":detalleItem">
                <h:outputText value="#{item.anno3}">
                    <f:convertNumber pattern="###,###,##0.000"/>
                </h:outputText>
                <f:attribute name="anno" value="#{jsfBean.reporteContext.checkPoint.anno3}"/>
                <f:attribute name="sociedadId" value="#{item.sociedadId}"/>
                <f:attribute name="checkPointId" value="#{item.checkPointId}"/>
                <f:attribute name="usuario" value="#{item.entidad}"/>
                <f:attribute name="codigoMoneda" value="#{item.codigoMoneda}"/>

                <f:attribute name="cuentaContableId" value="#{item.cuentaContableId}"/>
                <f:attribute name="acreedorId" value="#{item.acreedorId}"/>
                <f:attribute name="agrupacionId" value="#{item.agrupacionId}"/>
                <f:attribute name="tipoReporte" value="#{tipoReporte}"/>
            </p:commandLink>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
            <f:facet name="header">
                <h:outputText value="#{jsfBean.reporteContext.checkPoint.anno4}"/>
            </f:facet>

            <p:commandLink actionListener="#{jsfBean.onDetalleItemCuenta}" ajax="true"
                            update=":detalleItem">
                <h:outputText value="#{item.anno4}">
                    <f:convertNumber pattern="###,###,##0.000"/>
                </h:outputText>
                <f:attribute name="anno" value="#{jsfBean.reporteContext.checkPoint.anno4}"/>
                <f:attribute name="sociedadId" value="#{item.sociedadId}"/>
                <f:attribute name="checkPointId" value="#{item.checkPointId}"/>
                <f:attribute name="usuario" value="#{item.entidad}"/>
                <f:attribute name="codigoMoneda" value="#{item.codigoMoneda}"/>
                <f:attribute name="cuentaContableId" value="#{item.cuentaContableId}"/>
                <f:attribute name="acreedorId" value="#{item.acreedorId}"/>
                <f:attribute name="agrupacionId" value="#{item.agrupacionId}"/>
                <f:attribute name="tipoReporte" value="#{tipoReporte}"/>
            </p:commandLink>
        </p:column>
        <p:column styleClass="columnRightTopClass" style="min-width:30px">
            <f:facet name="header">
                <h:outputText value="Total General"/>
            </f:facet>
            <h:outputText value="#{item.totalGeneral}">
                <f:convertNumber pattern="###,###,##0.000"/>
            </h:outputText>
        </p:column>
    </p:dataTable>

</ui:composition>
